/**
 * Created by admin on 2017/9/1.
 */
/**
 * 分页控件初始化，为了省代码，必须遵守以下约定： <br/>
 * 约定1：查询后台的controller中必须包含参数 int currentPage <br/>
 * 约定2：查询返回的对象必需是 com.ytx.common.model.PageResultModel <br/>
 * 约定3：页大小是 10 <br/>
 *
 * @Author kevin
 */
layui.define(['jquery', 'laypage', 'layer'], function (exports) {
    var $ = layui.jquery;
    var layer = layui.layer;
    var laypage = layui.laypage;

    var PAGE_SIZE = 10;  // 前后端约定好，页大小固定是10，不要随便修改

    var pageFlip = {

        'PAGE_SIZE': PAGE_SIZE,

        /**
         *
         * @param param 条件查询参数对象
         * @param listFunc ajax 后台查询函数 后台查询函数, 后台返回的对象必须是 com.ytx.common.model.PageResultModel
         * @param renderFunc  渲染表单函数 function(dataList, currentPage)
         * @param pageCtrlId 翻页控件html中的id字符串, 形如： <div id="PAGE_CTRL_ID"></div>
         * @param certainPageIndex 跳转到确定的某一页，如果不指定，默认跳到第1页
         */
        configure: function (param, listFunc, renderFunc, pageCtrlId, certainPageIndex) {
            param.currentPage = certainPageIndex || 1;
            listFunc(param, function (resp) {
                if (resp.c != "100") {
                    console.log("failure to query: " + param);
                    layer.msg("failure to query!");
                    return;
                }
                renderFunc(resp.d.l, param.currentPage);
                // 开始初始化分页控件
                var total =resp.d.total ;
                laypage.render({
                    elem: pageCtrlId,
                    groups: 5,
                    count:total,
                    curr: param.currentPage,
                    jump: function (obj,first) {
                        param.currentPage = obj.curr;
                        listFunc(param, function (resp) {
                            if (resp.c != "100") {
                                console.log("failure to query: " + param);
                                layer.msg("failure to query!");
                                return;
                            }
                            renderFunc(resp.d.l, obj.curr);  // 翻页后重新渲染页面
                        });
                    }
                });

                var sb = $('#'+pageCtrlId).prev('span');
                if(sb) sb.remove(); // 如果翻页控件的兄弟节点包含span则删除

                $('#'+pageCtrlId).before('<span style="float:left"> 共' + resp.d.total + '条记录 </span>');
            });
        }
    };


    exports('pageFlip', pageFlip);
});